package com.sphd.emanu.pojo.market;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class TRestConfigExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TRestConfigExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCTime(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Time(value.getTime()), property);
        }

        protected void addCriterionForJDBCTime(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Time> timeList = new ArrayList<java.sql.Time>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                timeList.add(new java.sql.Time(iter.next().getTime()));
            }
            addCriterion(condition, timeList, property);
        }

        protected void addCriterionForJDBCTime(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Time(value1.getTime()), new java.sql.Time(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andOrgIsNull() {
            addCriterion("org is null");
            return (Criteria) this;
        }

        public Criteria andOrgIsNotNull() {
            addCriterion("org is not null");
            return (Criteria) this;
        }

        public Criteria andOrgEqualTo(Integer value) {
            addCriterion("org =", value, "org");
            return (Criteria) this;
        }

        public Criteria andOrgNotEqualTo(Integer value) {
            addCriterion("org <>", value, "org");
            return (Criteria) this;
        }

        public Criteria andOrgGreaterThan(Integer value) {
            addCriterion("org >", value, "org");
            return (Criteria) this;
        }

        public Criteria andOrgGreaterThanOrEqualTo(Integer value) {
            addCriterion("org >=", value, "org");
            return (Criteria) this;
        }

        public Criteria andOrgLessThan(Integer value) {
            addCriterion("org <", value, "org");
            return (Criteria) this;
        }

        public Criteria andOrgLessThanOrEqualTo(Integer value) {
            addCriterion("org <=", value, "org");
            return (Criteria) this;
        }

        public Criteria andOrgIn(List<Integer> values) {
            addCriterion("org in", values, "org");
            return (Criteria) this;
        }

        public Criteria andOrgNotIn(List<Integer> values) {
            addCriterion("org not in", values, "org");
            return (Criteria) this;
        }

        public Criteria andOrgBetween(Integer value1, Integer value2) {
            addCriterion("org between", value1, value2, "org");
            return (Criteria) this;
        }

        public Criteria andOrgNotBetween(Integer value1, Integer value2) {
            addCriterion("org not between", value1, value2, "org");
            return (Criteria) this;
        }

        public Criteria andIsOutsideIsNull() {
            addCriterion("is_outside is null");
            return (Criteria) this;
        }

        public Criteria andIsOutsideIsNotNull() {
            addCriterion("is_outside is not null");
            return (Criteria) this;
        }

        public Criteria andIsOutsideEqualTo(Boolean value) {
            addCriterion("is_outside =", value, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideNotEqualTo(Boolean value) {
            addCriterion("is_outside <>", value, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideGreaterThan(Boolean value) {
            addCriterion("is_outside >", value, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_outside >=", value, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideLessThan(Boolean value) {
            addCriterion("is_outside <", value, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideLessThanOrEqualTo(Boolean value) {
            addCriterion("is_outside <=", value, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideIn(List<Boolean> values) {
            addCriterion("is_outside in", values, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideNotIn(List<Boolean> values) {
            addCriterion("is_outside not in", values, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideBetween(Boolean value1, Boolean value2) {
            addCriterion("is_outside between", value1, value2, "isOutside");
            return (Criteria) this;
        }

        public Criteria andIsOutsideNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_outside not between", value1, value2, "isOutside");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeIsNull() {
            addCriterion("early_time is null");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeIsNotNull() {
            addCriterion("early_time is not null");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeEqualTo(Integer value) {
            addCriterion("early_time =", value, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeNotEqualTo(Integer value) {
            addCriterion("early_time <>", value, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeGreaterThan(Integer value) {
            addCriterion("early_time >", value, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeGreaterThanOrEqualTo(Integer value) {
            addCriterion("early_time >=", value, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeLessThan(Integer value) {
            addCriterion("early_time <", value, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeLessThanOrEqualTo(Integer value) {
            addCriterion("early_time <=", value, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeIn(List<Integer> values) {
            addCriterion("early_time in", values, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeNotIn(List<Integer> values) {
            addCriterion("early_time not in", values, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeBetween(Integer value1, Integer value2) {
            addCriterion("early_time between", value1, value2, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andEarlyTimeNotBetween(Integer value1, Integer value2) {
            addCriterion("early_time not between", value1, value2, "earlyTime");
            return (Criteria) this;
        }

        public Criteria andDistanceIsNull() {
            addCriterion("distance is null");
            return (Criteria) this;
        }

        public Criteria andDistanceIsNotNull() {
            addCriterion("distance is not null");
            return (Criteria) this;
        }

        public Criteria andDistanceEqualTo(Integer value) {
            addCriterion("distance =", value, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceNotEqualTo(Integer value) {
            addCriterion("distance <>", value, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceGreaterThan(Integer value) {
            addCriterion("distance >", value, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceGreaterThanOrEqualTo(Integer value) {
            addCriterion("distance >=", value, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceLessThan(Integer value) {
            addCriterion("distance <", value, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceLessThanOrEqualTo(Integer value) {
            addCriterion("distance <=", value, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceIn(List<Integer> values) {
            addCriterion("distance in", values, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceNotIn(List<Integer> values) {
            addCriterion("distance not in", values, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceBetween(Integer value1, Integer value2) {
            addCriterion("distance between", value1, value2, "distance");
            return (Criteria) this;
        }

        public Criteria andDistanceNotBetween(Integer value1, Integer value2) {
            addCriterion("distance not between", value1, value2, "distance");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeIsNull() {
            addCriterion("opening_time is null");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeIsNotNull() {
            addCriterion("opening_time is not null");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeEqualTo(Date value) {
            addCriterionForJDBCTime("opening_time =", value, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeNotEqualTo(Date value) {
            addCriterionForJDBCTime("opening_time <>", value, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeGreaterThan(Date value) {
            addCriterionForJDBCTime("opening_time >", value, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("opening_time >=", value, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeLessThan(Date value) {
            addCriterionForJDBCTime("opening_time <", value, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("opening_time <=", value, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeIn(List<Date> values) {
            addCriterionForJDBCTime("opening_time in", values, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeNotIn(List<Date> values) {
            addCriterionForJDBCTime("opening_time not in", values, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("opening_time between", value1, value2, "openingTime");
            return (Criteria) this;
        }

        public Criteria andOpeningTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("opening_time not between", value1, value2, "openingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeIsNull() {
            addCriterion("closing_time is null");
            return (Criteria) this;
        }

        public Criteria andClosingTimeIsNotNull() {
            addCriterion("closing_time is not null");
            return (Criteria) this;
        }

        public Criteria andClosingTimeEqualTo(Date value) {
            addCriterionForJDBCTime("closing_time =", value, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeNotEqualTo(Date value) {
            addCriterionForJDBCTime("closing_time <>", value, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeGreaterThan(Date value) {
            addCriterionForJDBCTime("closing_time >", value, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("closing_time >=", value, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeLessThan(Date value) {
            addCriterionForJDBCTime("closing_time <", value, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("closing_time <=", value, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeIn(List<Date> values) {
            addCriterionForJDBCTime("closing_time in", values, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeNotIn(List<Date> values) {
            addCriterionForJDBCTime("closing_time not in", values, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("closing_time between", value1, value2, "closingTime");
            return (Criteria) this;
        }

        public Criteria andClosingTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("closing_time not between", value1, value2, "closingTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeIsNull() {
            addCriterion("outside_begin_time is null");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeIsNotNull() {
            addCriterion("outside_begin_time is not null");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeEqualTo(Date value) {
            addCriterionForJDBCTime("outside_begin_time =", value, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeNotEqualTo(Date value) {
            addCriterionForJDBCTime("outside_begin_time <>", value, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeGreaterThan(Date value) {
            addCriterionForJDBCTime("outside_begin_time >", value, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("outside_begin_time >=", value, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeLessThan(Date value) {
            addCriterionForJDBCTime("outside_begin_time <", value, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("outside_begin_time <=", value, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeIn(List<Date> values) {
            addCriterionForJDBCTime("outside_begin_time in", values, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeNotIn(List<Date> values) {
            addCriterionForJDBCTime("outside_begin_time not in", values, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("outside_begin_time between", value1, value2, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideBeginTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("outside_begin_time not between", value1, value2, "outsideBeginTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeIsNull() {
            addCriterion("outside_end_time is null");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeIsNotNull() {
            addCriterion("outside_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeEqualTo(Date value) {
            addCriterionForJDBCTime("outside_end_time =", value, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeNotEqualTo(Date value) {
            addCriterionForJDBCTime("outside_end_time <>", value, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeGreaterThan(Date value) {
            addCriterionForJDBCTime("outside_end_time >", value, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("outside_end_time >=", value, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeLessThan(Date value) {
            addCriterionForJDBCTime("outside_end_time <", value, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("outside_end_time <=", value, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeIn(List<Date> values) {
            addCriterionForJDBCTime("outside_end_time in", values, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeNotIn(List<Date> values) {
            addCriterionForJDBCTime("outside_end_time not in", values, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("outside_end_time between", value1, value2, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andOutsideEndTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("outside_end_time not between", value1, value2, "outsideEndTime");
            return (Criteria) this;
        }

        public Criteria andAmountLimitIsNull() {
            addCriterion("amount_limit is null");
            return (Criteria) this;
        }

        public Criteria andAmountLimitIsNotNull() {
            addCriterion("amount_limit is not null");
            return (Criteria) this;
        }

        public Criteria andAmountLimitEqualTo(BigDecimal value) {
            addCriterion("amount_limit =", value, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitNotEqualTo(BigDecimal value) {
            addCriterion("amount_limit <>", value, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitGreaterThan(BigDecimal value) {
            addCriterion("amount_limit >", value, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("amount_limit >=", value, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitLessThan(BigDecimal value) {
            addCriterion("amount_limit <", value, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitLessThanOrEqualTo(BigDecimal value) {
            addCriterion("amount_limit <=", value, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitIn(List<BigDecimal> values) {
            addCriterion("amount_limit in", values, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitNotIn(List<BigDecimal> values) {
            addCriterion("amount_limit not in", values, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount_limit between", value1, value2, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andAmountLimitNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount_limit not between", value1, value2, "amountLimit");
            return (Criteria) this;
        }

        public Criteria andFeeIsNull() {
            addCriterion("fee is null");
            return (Criteria) this;
        }

        public Criteria andFeeIsNotNull() {
            addCriterion("fee is not null");
            return (Criteria) this;
        }

        public Criteria andFeeEqualTo(BigDecimal value) {
            addCriterion("fee =", value, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeNotEqualTo(BigDecimal value) {
            addCriterion("fee <>", value, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeGreaterThan(BigDecimal value) {
            addCriterion("fee >", value, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("fee >=", value, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeLessThan(BigDecimal value) {
            addCriterion("fee <", value, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("fee <=", value, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeIn(List<BigDecimal> values) {
            addCriterion("fee in", values, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeNotIn(List<BigDecimal> values) {
            addCriterion("fee not in", values, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("fee between", value1, value2, "fee");
            return (Criteria) this;
        }

        public Criteria andFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("fee not between", value1, value2, "fee");
            return (Criteria) this;
        }

        public Criteria andIsCouponIsNull() {
            addCriterion("is_coupon is null");
            return (Criteria) this;
        }

        public Criteria andIsCouponIsNotNull() {
            addCriterion("is_coupon is not null");
            return (Criteria) this;
        }

        public Criteria andIsCouponEqualTo(Boolean value) {
            addCriterion("is_coupon =", value, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponNotEqualTo(Boolean value) {
            addCriterion("is_coupon <>", value, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponGreaterThan(Boolean value) {
            addCriterion("is_coupon >", value, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_coupon >=", value, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponLessThan(Boolean value) {
            addCriterion("is_coupon <", value, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponLessThanOrEqualTo(Boolean value) {
            addCriterion("is_coupon <=", value, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponIn(List<Boolean> values) {
            addCriterion("is_coupon in", values, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponNotIn(List<Boolean> values) {
            addCriterion("is_coupon not in", values, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponBetween(Boolean value1, Boolean value2) {
            addCriterion("is_coupon between", value1, value2, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_coupon not between", value1, value2, "isCoupon");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnIsNull() {
            addCriterion("is_coupon_return is null");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnIsNotNull() {
            addCriterion("is_coupon_return is not null");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnEqualTo(Boolean value) {
            addCriterion("is_coupon_return =", value, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnNotEqualTo(Boolean value) {
            addCriterion("is_coupon_return <>", value, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnGreaterThan(Boolean value) {
            addCriterion("is_coupon_return >", value, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_coupon_return >=", value, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnLessThan(Boolean value) {
            addCriterion("is_coupon_return <", value, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnLessThanOrEqualTo(Boolean value) {
            addCriterion("is_coupon_return <=", value, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnIn(List<Boolean> values) {
            addCriterion("is_coupon_return in", values, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnNotIn(List<Boolean> values) {
            addCriterion("is_coupon_return not in", values, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnBetween(Boolean value1, Boolean value2) {
            addCriterion("is_coupon_return between", value1, value2, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsCouponReturnNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_coupon_return not between", value1, value2, "isCouponReturn");
            return (Criteria) this;
        }

        public Criteria andIsDepositIsNull() {
            addCriterion("is_deposit is null");
            return (Criteria) this;
        }

        public Criteria andIsDepositIsNotNull() {
            addCriterion("is_deposit is not null");
            return (Criteria) this;
        }

        public Criteria andIsDepositEqualTo(Boolean value) {
            addCriterion("is_deposit =", value, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositNotEqualTo(Boolean value) {
            addCriterion("is_deposit <>", value, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositGreaterThan(Boolean value) {
            addCriterion("is_deposit >", value, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_deposit >=", value, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositLessThan(Boolean value) {
            addCriterion("is_deposit <", value, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositLessThanOrEqualTo(Boolean value) {
            addCriterion("is_deposit <=", value, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositIn(List<Boolean> values) {
            addCriterion("is_deposit in", values, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositNotIn(List<Boolean> values) {
            addCriterion("is_deposit not in", values, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositBetween(Boolean value1, Boolean value2) {
            addCriterion("is_deposit between", value1, value2, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDepositNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_deposit not between", value1, value2, "isDeposit");
            return (Criteria) this;
        }

        public Criteria andIsDiscountIsNull() {
            addCriterion("is_discount is null");
            return (Criteria) this;
        }

        public Criteria andIsDiscountIsNotNull() {
            addCriterion("is_discount is not null");
            return (Criteria) this;
        }

        public Criteria andIsDiscountEqualTo(Boolean value) {
            addCriterion("is_discount =", value, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountNotEqualTo(Boolean value) {
            addCriterion("is_discount <>", value, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountGreaterThan(Boolean value) {
            addCriterion("is_discount >", value, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_discount >=", value, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountLessThan(Boolean value) {
            addCriterion("is_discount <", value, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountLessThanOrEqualTo(Boolean value) {
            addCriterion("is_discount <=", value, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountIn(List<Boolean> values) {
            addCriterion("is_discount in", values, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountNotIn(List<Boolean> values) {
            addCriterion("is_discount not in", values, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountBetween(Boolean value1, Boolean value2) {
            addCriterion("is_discount between", value1, value2, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsDiscountNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_discount not between", value1, value2, "isDiscount");
            return (Criteria) this;
        }

        public Criteria andIsPiontIsNull() {
            addCriterion("is_piont is null");
            return (Criteria) this;
        }

        public Criteria andIsPiontIsNotNull() {
            addCriterion("is_piont is not null");
            return (Criteria) this;
        }

        public Criteria andIsPiontEqualTo(Boolean value) {
            addCriterion("is_piont =", value, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontNotEqualTo(Boolean value) {
            addCriterion("is_piont <>", value, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontGreaterThan(Boolean value) {
            addCriterion("is_piont >", value, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_piont >=", value, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontLessThan(Boolean value) {
            addCriterion("is_piont <", value, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontLessThanOrEqualTo(Boolean value) {
            addCriterion("is_piont <=", value, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontIn(List<Boolean> values) {
            addCriterion("is_piont in", values, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontNotIn(List<Boolean> values) {
            addCriterion("is_piont not in", values, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontBetween(Boolean value1, Boolean value2) {
            addCriterion("is_piont between", value1, value2, "isPiont");
            return (Criteria) this;
        }

        public Criteria andIsPiontNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_piont not between", value1, value2, "isPiont");
            return (Criteria) this;
        }

        public Criteria andMemoIsNull() {
            addCriterion("memo is null");
            return (Criteria) this;
        }

        public Criteria andMemoIsNotNull() {
            addCriterion("memo is not null");
            return (Criteria) this;
        }

        public Criteria andMemoEqualTo(String value) {
            addCriterion("memo =", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotEqualTo(String value) {
            addCriterion("memo <>", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThan(String value) {
            addCriterion("memo >", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThanOrEqualTo(String value) {
            addCriterion("memo >=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThan(String value) {
            addCriterion("memo <", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThanOrEqualTo(String value) {
            addCriterion("memo <=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLike(String value) {
            addCriterion("memo like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotLike(String value) {
            addCriterion("memo not like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoIn(List<String> values) {
            addCriterion("memo in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotIn(List<String> values) {
            addCriterion("memo not in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoBetween(String value1, String value2) {
            addCriterion("memo between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotBetween(String value1, String value2) {
            addCriterion("memo not between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andXWgs84IsNull() {
            addCriterion("x_wgs84 is null");
            return (Criteria) this;
        }

        public Criteria andXWgs84IsNotNull() {
            addCriterion("x_wgs84 is not null");
            return (Criteria) this;
        }

        public Criteria andXWgs84EqualTo(Double value) {
            addCriterion("x_wgs84 =", value, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84NotEqualTo(Double value) {
            addCriterion("x_wgs84 <>", value, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84GreaterThan(Double value) {
            addCriterion("x_wgs84 >", value, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84GreaterThanOrEqualTo(Double value) {
            addCriterion("x_wgs84 >=", value, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84LessThan(Double value) {
            addCriterion("x_wgs84 <", value, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84LessThanOrEqualTo(Double value) {
            addCriterion("x_wgs84 <=", value, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84In(List<Double> values) {
            addCriterion("x_wgs84 in", values, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84NotIn(List<Double> values) {
            addCriterion("x_wgs84 not in", values, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84Between(Double value1, Double value2) {
            addCriterion("x_wgs84 between", value1, value2, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andXWgs84NotBetween(Double value1, Double value2) {
            addCriterion("x_wgs84 not between", value1, value2, "xWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84IsNull() {
            addCriterion("y_wgs84 is null");
            return (Criteria) this;
        }

        public Criteria andYWgs84IsNotNull() {
            addCriterion("y_wgs84 is not null");
            return (Criteria) this;
        }

        public Criteria andYWgs84EqualTo(Double value) {
            addCriterion("y_wgs84 =", value, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84NotEqualTo(Double value) {
            addCriterion("y_wgs84 <>", value, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84GreaterThan(Double value) {
            addCriterion("y_wgs84 >", value, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84GreaterThanOrEqualTo(Double value) {
            addCriterion("y_wgs84 >=", value, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84LessThan(Double value) {
            addCriterion("y_wgs84 <", value, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84LessThanOrEqualTo(Double value) {
            addCriterion("y_wgs84 <=", value, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84In(List<Double> values) {
            addCriterion("y_wgs84 in", values, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84NotIn(List<Double> values) {
            addCriterion("y_wgs84 not in", values, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84Between(Double value1, Double value2) {
            addCriterion("y_wgs84 between", value1, value2, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andYWgs84NotBetween(Double value1, Double value2) {
            addCriterion("y_wgs84 not between", value1, value2, "yWgs84");
            return (Criteria) this;
        }

        public Criteria andAmountFreeIsNull() {
            addCriterion("amount_free is null");
            return (Criteria) this;
        }

        public Criteria andAmountFreeIsNotNull() {
            addCriterion("amount_free is not null");
            return (Criteria) this;
        }

        public Criteria andAmountFreeEqualTo(BigDecimal value) {
            addCriterion("amount_free =", value, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeNotEqualTo(BigDecimal value) {
            addCriterion("amount_free <>", value, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeGreaterThan(BigDecimal value) {
            addCriterion("amount_free >", value, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("amount_free >=", value, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeLessThan(BigDecimal value) {
            addCriterion("amount_free <", value, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("amount_free <=", value, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeIn(List<BigDecimal> values) {
            addCriterion("amount_free in", values, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeNotIn(List<BigDecimal> values) {
            addCriterion("amount_free not in", values, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount_free between", value1, value2, "amountFree");
            return (Criteria) this;
        }

        public Criteria andAmountFreeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount_free not between", value1, value2, "amountFree");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}